Okta の Active Directory 統合を試してみた
みなさま Xin chao !
Amazon WorkSpaces で SAML 統合を試したかったので、まずは Okta の Active Directory 統合を試してみました。
Okta と Active Directory を統合することで、Active Directory に登録されているユーザーに関連付けられたユーザーが Okta に作成され、Active Directory のユーザー+パスワード情報を使って、Okta にサインインできるようになります。
なお、記事が長くなってしまったので、肝心の WorkSpaces の SAML 統合については別の記事で紹介する「予定」です。
(2023/8/18 追記) SAML 統合についても書きました。
Active Directory 統合を試す
Okta が提供しているドキュメントを見ながら設定していきます。
構成図
以下のような構成で試します。
前提
以下の環境を構築・設定済みの状態から始めます。 詳細な前提条件は、Okta のドキュメントに掲載されていますのでご確認ください。
- Active Directory
- 今回は Windows Server 2019 を選択
- Active Directory ドメインコントローラー on EC2 (以降 AD on EC2) で構築
- Active Directory ドメイン名は oktasso.test (NetBIOS 名は OKTASSO)
- WorkSpaces OU に以下のユーザー・グループを作成
- user01
- user02
- user03
- WorkSpacesUsers (グループ, user01 のみ所属)
- Okta Active Directory Agent (以降 Okta AD Agent) 用 EC2
- 今回は Windows Server 2019 を選択
- Active Directory ドメインのメンバーサーバー
- Okta AD Agent をインストールする際に使用する、Active Directory ドメイン管理者権限を持つ Active Directory ユーザー (OktaADagentInst) でログインを確認済み
- インターネットを介して Okta にアクセスする必要があるため、パブリックサブネットに構築
- Okta
- 検証環境用に Okta Starter Developer Edition を使用
- 設定を行うためのスーパー管理者権限を持った Okta アカウントを取得済みで Okta Admin Console へのサインインも確認済み
今回自分でも使用していますが、もし、お手元の環境で自由に使える Okta 環境がない場合は、以下のブログを参考に Okta Starter Developer Edition で試すという方法もあります。
Active Directory 統合の設定の流れ
以下の 4 つのステップで設定していきます。
- Okta AD Agent 専用の Okta 管理者アカウントの作成 (Okta Admin Console での設定)
- セキュリティグループの設定 (AWS マネジメントコンソールでの設定)
- Okta AD Agent のインストール (Okta AD Agent 用 EC2 および Okta Admin Console での設定)
- Active Directory ユーザーとグループを Okta にインポート (Okta Admin Console での設定)
1. Okta AD Agent 専用の Okta 管理者アカウントの作成 (Okta Admin Console での設定)
Okta のドキュメントを見ると、Okta AD Agent 専用の Okta 管理者アカウントを作成することが推奨されています。
Active Directory統合の前提条件 - Okta Help Center
今回は、推奨に従ってアカウントを作成してみます。
個人的な検証なので、Okta AD Agent 専用の Okta 管理者アカウントは作成せずに、現在使用中の Okta 管理者アカウントを使いたいという場合は、この手順を省略することも可能です。
ここからは、Okta Admin Console での操作になります。
Okta Admin Console にスーパー管理者権限を持ったユーザーでサインインします。
ナビゲーションペインで、[Directory] - [People] をクリックし、[Add person] をクリックします。
以下を設定して [Save] をクリックし、ユーザーを作成します。
- User type : User
- First name : (Okta AD Agent 専用の Okta 管理者アカウントを識別するための First name を入力)
- Last name : (Okta AD Agent 専用の Okta 管理者アカウントを識別するための Last name を入力)
- Username : (メールアドレスを入力)
- Primary email : (Username と同じメールアドレスを入力)
- Activation : Activate now
- I will set password : (必要に応じて On / Off を選択)
- Password : (このユーザーに設定するパスワードを入力)
- User must change password on first login : (必要に応じて On / Off を選択)
ナビゲーションペインで、[Security] - [Administrators] をクリックし、[+Add administrator] をクリックします。
以下のように選択し、[Save Changes] をクリックして、スーパー管理者権限を付与します。
- Select admin : (作成したユーザーを選択)
- Role : Super Administrator (=スーパー管理者)
[Admins] タブをクリックし、作成したユーザーの Role が Super Administrator (=スーパー管理者) になっていることを確認します。
現在使用しているスーパー管理者を一旦サインアウトして、作成したスーパー管理者で Okta Admin Console にサインインできることを確認しておきます。 作成したスーパー管理者は、Okta AD Agent のインストール時に使用します。
2. セキュリティグループの設定 (AWS マネジメントコンソールでの設定)
Okta AD Agent 用 EC2 -> AD on EC2 で必要な通信を行うことができるように、セキュリティグループで通信を許可する必要があります。
今回は検証環境であるため、Okta AD Agent 用 EC2 からの通信をすべて許可するように、AD on EC2 が使用しているセキュリティグループのインバウンドルールを設定しました。
本番環境等で最小限の通信のみ許可する場合は、以下の Okta のドキュメントを参考に、Okta AD Agent 用 EC2 -> AD on EC2 間で必要な通信が許可されていることをご確認ください。
Active Directory統合用のDMZサーバーポートを構成する - Okta Help Center
また、念のため Windows ファイアウォール (=OS の設定) でも、必要な通信が許可されていることをご確認ください。
3. Okta AD Agent のインストール (Okta AD Agent 用 EC2 および Okta Admin Console での設定)
Active Directory ドメイン管理者権限を持つ Active Directory ユーザーアカウント (今回は OktaADagentInst) で、Okta AD Agent 用 EC2 にログインした状態で、Okta Admin Console にスーパー管理者でサインインします。
もし、Okta AD Agent 用 EC2 上では Okta Admin Console にアクセスしたくない場合は、設定用の PC 上で Okta Admin Console にサインインしても大丈夫です。
ナビゲーションペインで、[Directory] - [Directory Integrations] をクリックし、[Add Directory] - [Add Active Directory] をクリックします。
インストール要件を確認し、[Set Up Active Directory >>] をクリックします。
[(1) Download Agent] 画面で、[Download Agent] をクリックし、Okta AD Agent のインストーラーをダウンロードします。
Okta AD Agent 用 EC2 上ではなく、設定用の PC 上で操作を行っている場合は、[Download Agent] をクリックすると表示されるダウンロードリンクをコピーして Okta AD Agent 用 EC2 上で直接ダウンロードする、あるいは、ダウンロードしたファイルを Okta AD Agent 用 EC2 にコピーします。
ここからは、設定用の PC 上で操作を行っている場合でも、Active Directory ドメイン管理者権限を持つ Active Directory ユーザーアカウント (今回は OktaADagentInst) で、Okta AD Agent 用 EC2 にログインして操作する必要があります。
また、表示されている情報を後続の手順で使用するため、Okta Admin Console は開いたままにしておきます。
ダウンロードした Okta AD Agent のインストーラーを実行します。
[ユーザー アカウント制御] が表示された場合は、[はい] をクリックします。
[Next >] をクリックします。
インストール先フォルダと、ディスクの空き容量を確認したうえで [Install] をクリックします。
インストールが始まります。
この Okta AD Agent で管理する Active Directory ドメイン名を入力したうえで [Next >] をクリックします。
Okta AD Agent で使用するサービスアカウントを指定します。 特に理由がない限り、"Create or use the OktaService account (recommended)" を選択し [Next >] をクリックします。 別途作成したアカウントを使用する場合は、以下の Okta のドキュメントを参考にアカウントを作成する必要があります。
Okta ADエージェントサービスを実行するためのOktaサービスアカウント - Okta Help Center
"Create or use the OktaService account (recommended)" を選択した場合、作成するサービスアカウントに設定するパスワードを求められるので、Active Directory ドメインで設定されているパスワードポリシーに準拠したパスワードを設定し、[Next >] をクリックします。
途中で、以下のようなメッセージが表示されます。 サービスアカウントが "Pre-Windows 2000 Compatible Access" グループに所属していないため増分インポートに問題が出るかもしれない、ということですが、メッセージに記載されている URL の内容を読む限りでは、明示的に所属させなくても問題ないと理解できたため、今回はこのメッセージは無視して、[OK] をクリックしました。
Okta AD Agent 用 EC2 からインターネットにアクセスをプロキシ経由で行う必要がある環境では、プロキシサーバーを指定します。 今回は不要な環境なので、指定せずに [Next >] をクリックします。
Okta Organization URL の入力が求められるので、Okta Admin Console に表示されている URL をコピー&ペーストし、[Next >] をクリックます。
Okta へのサインインを求められるので、[1. Okta AD Agent 専用の Okta 管理者アカウントの作成] で作成した、スーパー管理者のユーザー名とパスワードを入力して [サインイン] をクリックします。
Okta AD Agent から Okta へのアクセス許可が求められるので、内容を確認したうえで [Allow Access] をクリックします。
以上で Okta AD Agent のインストールが完了です。 [Finish] をクリックします。
すると、間もなく Okta Admin Console 上に以下のメッセージが表示されるので [Next >>] をクリックします (少し待っても表示されない場合は、ページの再読み込みを行うと次の画面に遷移する場合があります)。
[(2) Basic Settings] 画面で以下を指定し、[Next >>] をクリックします。
- Select the Organizational Units (OUs) that you'd like to sync Users from : (Okta に同期したいユーザーが格納されている Active Directory の OU を指定)
- Select the Organizational Units (OUs) that you'd like to sync Groups from : (Okta に同期したいグループが格納されている Active Directory の OU を指定)
- Okta username format : User Principal Name (UPN) (既定値)
OU が設定されたので [Next >>] をクリックします。
[(3) Build User Profile] 画面では、特に理由がない限り既定値のまま [Next >>] をクリックします。 変更したい場合は、以下の Okta の ドキュメントをご参照ください。
Active Directoryのインポートとアカウント設定を構成する - Okta Help Center
[(4) Done!] 画面に遷移し、Active Directory Integration の設定が完了しました。 [Done] をクリックします。
なお、この時点では、AD on EC2 -> Okta のユーザー・グループの同期は手動で行う設定になっています。 スケジュールに基づいて自動で同期を行う場合は、以下の Okta のドキュメントを参考に別途設定する必要があります。
Active Directoryのインポートとアカウント設定を構成する - Okta Help Center
4. Active Directory ユーザーとグループを Okta にインポート (Okta Admin Console での設定)
ここまでの設定を使って、Active Directory のユーザー・グループを Okta にインポートします。 引き続き、Okta Admin Console にスーパー管理者でサインインした状態での操作になります。
ナビゲーションペインで、[Directory] - [Directory Integrations] - [Active Directory] - [Import] タブ をクリックし、[Import Now] をクリックします。
初回のインポートなので、"Full import (could take a while)" を選択し、[Import] をクリックします。
インポート中。
Active Directory の OU に登録済みの 3 ユーザー+1 グループが無事にインポートできたので [OK] をクリックします。 約 10 秒ほどかかりました。
インポートしたユーザーのうち、Okta に作成するユーザーを選択します。 今回は初回のインポートであり、既存の Okta ユーザーとの重複もありませんので、すべてのユーザーを選択した状態で [Confirm Assignments] をクリックします。
Okta に作成されるユーザー数を確認して、[Confirm] をクリックします。
ナビゲーションペインで、[Directory] - [People] をクリックすると、Active Directory からインポートしたユーザーに関連付けられたユーザーが Okta に作成されていることを確認できます (作成されたユーザーのうち user01 のみ Status が Active になっているのは、このスクリーンショット取得前に Okta へのサインインを行ってしまったためです)。
また、ナビゲーションペインで、[Directory] - [Groups] をクリックすると、Active Directory からインポートしたグループに関連付けられたグループが Okta に作成され、グループに所属しているユーザーも維持されていることを確認できます。
その他
Okta AD Agent のステータスは、Okta Admin Console のナビゲーションペインで、[Directory] - [Directory Integrations] - [Active Directory] をクリックし、[Agents] タブで確認することが可能です (このスクリーンショットは Okta AD Agent 用 EC2 をシャットダウンして数分後の状態なので not connected になっています)。
おわりに
WorkSpaces で SAML 統合を試すのが目的で、Okta の Active Directory 統合の設定を始めたのですが、せっかくだから Active Directory 統合の設定もブログに残しておこう、と書き始めたところ、スクリーンショットが多くて長くなってしまいました。
AWS は少し分かるけど Okta は全然分からないという層を狙って書いているため、とりあえずこのスクリーンショットを見ながら設定すれば、Okta の Active Directory 統合の設定を完了することができるかと思います。
引き続き、本来の目的である WorkSpaces の SAML 統合を試すブログも書きたいと思います。
(2023/8/18 追記) SAML 統合についても書きました。